'use strict';
import { IConfig } from "../staticeClass/IConfig.js"
// 动态导入环境特定的配置文件
const envConfigImport = import(`./${process.env.NODE_ENV}.js`);

// 使用 async/await 来处理异步导入
async function getEnvConfig(): Promise<IConfig> {
  try {
    const { config } = await envConfigImport;
    return config;
  } catch (error) {
    console.error("加载环境配置失败!", error);
    throw error;
  }
}
// 默认配置对象，使用类型注解
const defaultConfig: IConfig = {
  port: parseInt(process.env.PORT || "3011", 10),
  cookie: process.env.COOKIE || ""
};

// 合并默认配置和环境配置
async function getConfig(): Promise<IConfig> {
  const envConfig: IConfig = await getEnvConfig();
  return { ...defaultConfig, ...envConfig };
}

export default await getConfig();